$(() => {
    function getList() {
        // 获取所有的文章类别数据
        $.ajax({
            type: 'get',
            url: 'http://localhost:8080/api/v1/admin/category/list',
            // 获取token,除了用户登录接口外，其他接口均需要登录验证
            headers: {
                Authorization: localStorage.getItem('dsj_token')
            },
            success: (res) => {
                // console.log(res);
                // 模板引擎加工
                let htmlStr = template('moban', res)
                // 添加到tbody里
                $('tbody').html(htmlStr)
            }
        })
    }
    getList()

    // 新增类别
    // 点击新增只是为了让模态框出来，点击保存才是添加数据和渲染列表
    $('.btn_opt').on('click', function () {
        // 获取表单的值
        let name = $('#name').val().trim()
        let slug = $('#slug').val().trim()
        // 非空判断
        if (name === '' || slug === '') {
            return alert('不能为空')
        }
        // console.log({name,slug});

        // 发送请求，实现添加
        $.ajax({
            type: 'post',
            url: 'http://localhost:8080/api/v1/admin/category/add',
            data: { name, slug },
            headers: {
                Authorization: localStorage.getItem('dsj_token')
            },
            success: (res) => {
                // console.log(res);
                if (res.code === 200) {
                    // 关闭模态框
                    $('#myModal').modal('hide')
                    // 重新渲染页面
                    getList()
                    // 清空两个输入框
                    $('#name').val('')
                    $('#slug').val('')
                }
                else {
                    // 添加失败提示用户
                    alert(res.msg)
                }
            }
        })
    })

    //编辑业务
    // 让编辑模态框显示
    let id = null
    $('tbody').on('click', '.edit_btn', function () {
        $('#editModal').modal('show')
        // 获取当前点击按钮自己的id，通过id去修改数据,id已经存储过了
        id = $(this).data('id')
        // console.log(id)
        // 通过id获取分类信息
        $.ajax({
            type: 'get',
            url: 'http://localhost:8080/api/v1/admin/category/search',
            headers: {
                Authorization: localStorage.getItem('dsj_token')
            },
            data: { id },
            success: (res) => {
                // console.log(res);
                // 把内容填充到模态框里
                $('#edit_name').val(res.data[0].name)
                $('#edit_slug').val(res.data[0].slug)
            }
        })
    })

    // 完成编辑,事件是同级的，不要出现嵌套
    $('#editModal .btn_edit').on('click', function () {
        // 获取表单数据，非空判断
        let name = $('#edit_name').val().trim()
        let slug = $('#edit_slug').val().trim()
        if (name === '' || slug === '') {
            return alert('不能为空')
        }
        $.ajax({
            type: 'post',
            url: 'http://localhost:8080/api/v1/admin/category/edit',
            data: {
                id, name, slug
            },
            // 接口认证统一使用token认证
            headers: {
                Authorization: localStorage.getItem('dsj_token')
            },
            success: (res) => {
                // console.log(res)
                if (res.code === 200) {
                    // 重新渲染页面
                    getList()
                    // 关闭模态框
                    $('#editModal').modal('hide')

                }
            }
        })
    })

    // 删除业务
    $('tbody').on('click', '.btn_del', function () {
        // 通过id去删除
        let id = $(this).data('id')
        $.ajax({
            type: 'post',
            url: 'http://localhost:8080/api/v1/admin/category/delete',
            data: { id },
            // 接口认证统一使用token认证
            headers: {
                Authorization: localStorage.getItem('dsj_token')
            },
            success: (res) => {
                // console.log(res);
                getList()
            }
        })
    })
})